import LoginUser from '@model/entity/LoginUser/LoginUser';
import { SettingGPTRobotAppItem, SettingGPTRobotType } from '@src/modules/setting/gpt/types/robot';

type SettingGPTQuestionItemType = {
  // id
  id: string;
  // 类型
  type: string;
  // 问题
  question: string;
  // 回答答案
  answer: string;
  // 创建时间
  createTime: number;
  // 补充答案
  addedAnswer: string;
  // 状态
  status: string;
  // 来源
  sourceDocumentList: string;
  // 相似问题
  similarQuestionList: string[];
  // 应用的机器人列表
  applyRobotList: string[];
  // 创建人
  createUser: LoginUser;
  // 机器人
  robot: SettingGPTRobotType;
  // 机器人应用
  shbGptRobotApp: SettingGPTRobotAppItem;
}

type SettingGPTQuestionSourceDocumentType = {
  name: string;
  id: string;
  url: string;
}

type SettingGPTLogItemType = {
  // id
  id: string;
  // 问题
  question: string;
  // 回答答案
  answer: string;
  // 创建时间
  createTime: number;
  // 机器人 id
  robotId: string;
  // 创建人
  createUser: LoginUser;
  // 租户 ID
  tenantId: string;
  // 当前问题回答使用的模型名称
  modelName: string;
  // 输入给模型的 tokens 字符数
  inputTokens: number;
  // 模型输出的 tokens 字符数
  outputTokens: number;
}

type SettingGPTQuestionCountType = {
  likeCount: number;
  dislikeCount: number;
  unknownCount: number;
}

export {
  SettingGPTLogItemType,
  SettingGPTQuestionItemType,
  SettingGPTQuestionSourceDocumentType,
  SettingGPTQuestionCountType
}
